#pragma once

#include "Test.h"
#include "phy/ParticleEngine2D.h"

class CollisionTest : public Test
{
public:
	CollisionTest(TestManager* testManager);
	virtual ~CollisionTest();

	virtual void Init();
	virtual void Update(float i_elapsedTime);
	virtual void Render(Renderer& renderer) const;
	virtual	void OnKeyPressed(int keyCode);

	void Shoot();

private:
	phynet::phy::ParticleEngine2D m_engine;

	phynet::Real m_nextParticleSpeed;
	phynet::Real m_nextParticleAngleGrad;
	phynet::Real m_nextParticleDamping;

	static const int NUM_PARTICLES = 4;
	phynet::phy::Particle2D m_particle[NUM_PARTICLES];

	static const phynet::Real PARTICLE_STARTING_SPEED;
	static const phynet::Real PARTICLE_STARTING_ANGLE_GRAD;
	static const phynet::Real PARTICLE_STARTING_DAMPING;

}; // class CrazyCollisionTest
